Channels modeled after the CSP model are inherently synchronous: a process waiting to receive an object from a channel will block until the object is sent. This is also called rendezvous behaviour. Typical supported operations are presented below using the example of the libthread channel API. * Channel creation of fixed or variable size, returning a reference or handle * sending to a channel * receiving from a channel